package org.eddycar.jproyeddycar.comun.negocio;

import org.eddycar.jproyeddycar.comun.dao.DaoCliente;
import org.eddycar.jproyeddycar.comun.dao.DaoConyuge;
import org.eddycar.jproyeddycar.comun.dao.DaoGarante;
import org.eddycar.jproyeddycar.comun.modelo.Cliente;
import org.eddycar.jproyeddycar.comun.modelo.Conyuge;
import org.eddycar.jproyeddycar.comun.modelo.Garante;

public class AdministrarClienteUCC {

    private DaoCliente clienteDao = new DaoCliente();
    private DaoConyuge conyugeDao = new DaoConyuge();
    private DaoGarante garanteDao = new DaoGarante();
    private Cliente cliente = new Cliente();
    private Conyuge conyuge = null;
    private Garante garante = null;
    private Cliente clienteRespaldo = null;

    public AdministrarClienteUCC() {
    }

    public boolean guardar(Cliente doc) {
        boolean guardar = false;
        try {
            clienteDao.guardar(doc);
            guardar = true;

        } catch (NullPointerException e) {
            clienteDao.guardar(doc);
            guardar = true;
        } catch (IllegalArgumentException e) {
            clienteDao.guardar(doc);
            guardar = true;
        }
        return guardar;
    }

    public boolean actualizar(Cliente cliente) {
        boolean actualizar = true;
        clienteDao.actualizar(cliente);
        return actualizar;
    }

    public boolean existe(Cliente cliente) {
        boolean existe = false;
        try {
            for (Cliente doc : this.clienteDao.buscarTodos()) {
                existe = true;
            }
        } catch (NullPointerException e) {
        }
        return existe;
    }

    public boolean existeConyuge(Conyuge conyuge) {
        boolean existe = false;
        try {
            for (Conyuge doc : this.conyugeDao.buscarTodos()) {
                if (doc.getCedula().equals(conyuge.getCedula())) {
                    existe = true;
                }
            }
        } catch (NullPointerException e) {
        }
        return existe;
    }

    public boolean existeGarante(Garante garante) {
        boolean existe = false;
        try {
            for (Garante doc : this.garanteDao.buscarTodos()) {
                if (doc.getCedula().equals(garante.getCedula())) {
                    existe = true;
                }
            }
        } catch (NullPointerException e) {
        }
        return existe;
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public DaoCliente getClienteDao() {
        return clienteDao;
    }

    public void setClienteDao(DaoCliente clienteDao) {
        this.clienteDao = clienteDao;
    }

    public Conyuge getConyuge() {
        return conyuge;
    }

    public void setConyuge(Conyuge conyuge) {
        this.conyuge = conyuge;
    }

    public Garante getGarante() {
        return garante;
    }

    public void setGarante(Garante garante) {
        this.garante = garante;
    }

    public DaoConyuge getConyugeDao() {
        return conyugeDao;
    }

    public void setConyugeDao(DaoConyuge conyugeDao) {
        this.conyugeDao = conyugeDao;
    }

    public DaoGarante getGaranteDao() {
        return garanteDao;
    }

    public void setGaranteDao(DaoGarante garanteDao) {
        this.garanteDao = garanteDao;
    }

    public void setClienteRespaldo(Cliente cli) {
        this.clienteRespaldo = cli;
    }

    public Cliente getClienteRespaldo() {
        return clienteRespaldo;
    }
}
